import { ref, reactive } from 'vue'
const customStyle = {
    height: '73rpx',
}
export default (proxy: any) => {
    // 登录信息
    const Users = reactive({
        phone: '',
        password: '',
        password_re: '',
        code: '',

    })
    // 验证码
    let tips = ref('获取验证码')//默认btn文字
    let seconds = ref(60)
    // 获取验证码
    const getCode = () => {
        if (proxy.$refs.uCode.canGetCode) {
            uni.showLoading({
                title: '正在获取验证码'
            })
            setTimeout(() => {
                uni.hideLoading();
                // 这里此提示会被this.start()方法中的提示覆盖
                // uni.$u.toast('验证码已发送');
                proxy.$API(proxy).Toast('验证码已发送', 'success')
                // 通知验证码组件内部开始倒计时
                proxy.$refs.uCode.start();
            }, 2000);
        } else {
            proxy.$API(proxy).Toast('倒计时结束后再发送', 'error')
            // uni.$u.toast('倒计时结束后再发送');
        }
    }
    const end = () => {
        // uni.$u.toast('倒计时结束');
    }
    const start = () => {
        // uni.$u.toast('倒计时开始');
    }
    // 每秒触发一次 倒计时提示信息
    const codeChange = (text: string) => {
        tips.value = text;
    }
    // 协议按钮
    const checkboxValue = ref([])
    const checkboxChange = (value: never[]) => {
        checkboxValue.value = value
    }

    // 登录
    const register = () => {
        if (!checkboxValue.value[0]) {
            return proxy.$API(proxy).Toast('请先勾选协议', 'error')
        }
        if (!Users.phone.trim()) {
            return proxy.$API(proxy).Toast('手机号不能为空', 'error')
        }
        let rege = /\D/g;
        if (rege.test(Users.phone.trim())) {
            return proxy.$API(proxy).Toast('请输入正确的手机号', 'error')

        }
        if (!Users.code.trim()) {
            return proxy.$API(proxy).Toast('验证码不能为空', 'error')
        }
        if (!Users.password.trim()) {
            return proxy.$API(proxy).Toast('密码不能为空', 'error')
        }
        if (Users.password_re.trim() != Users.password.trim()) {
            return proxy.$API(proxy).Toast('两次输入的密码不一致', 'error')
        }
    }

    return {
        tips, getCode, codeChange, seconds, customStyle,
        register, checkboxValue, checkboxChange, Users,
    }
}